草庐IT

php - facebook sdk php 示例不工作

全部标签

JavaScript - Greasemonkey 的工作原理

我读了2005年写的“DiveintoGreasemonkey”(作者MarkPilgrim)。它提到Greasemonkey将用户脚本包装在匿名函数包装器中。Greasemonkey是否将包装器插入源JavaScript代码或将其添加为任何事件处理程序,例如window.onload? 最佳答案 DoesGreasemonkeyinsertthewrapperintothesourceJavaScriptcodeoradditasanyeventhandlersuchaswindow.onload?GM监听DOMContentLo

javascript - javascript数组在推送新元素时如何工作?

我在Chrome/Firefox中测试了这段代码:console.time('simplepush');vararr0=[];for(vari=0;iChrome13结果简单推送:59ms设置长度和推送:192ms新数组推送:187msFirefox4结果简单推送:76ms设置长度和推送:44ms新数组推送:40ms我的疑问所以newArray操作肯定是最慢的,但我想知道为什么?为什么设置长度在Chrome和Firefox中表现不同,似乎预分配内存在Chrome中效果不佳?更新我更新了Chrome和FF结果。 最佳答案 为什么new

javascript - 为什么当 +x++ 工作正常时,+++x 会给出错误消息?

varx=null;+++x生成一个ReferenceError,但是当我使用后缀增量运算符+x++执行相同操作时,它工作得很好。 最佳答案 ++运算符的LeftHandSideExpression不能是数字。例如1++;将失败并出现相同的错误(无效的增量操作数)。您只能对变量/标识符/表达式应用前置和后置增量运算符。由于+符号将null值转换为数字(0),因此您得到了相同的结果。例子:varfoo=null,bar=5;foo++;//00++;//invalidincrementoperandnull++;//invalidin

javascript - MarkerWithLabel - 拖动事件像点击事件一样工作

我在map上点击设置了一个标记。我使用MarkerWithLabel。我使用可拖动标记。如果我拖动一个标记,它会正常工作。但是,如果我拖动标签,它会与map上的点击事件一起使用。如何使用标签并在没有点击事件的情况下拖动标签?在我的示例中-当我拖动标记时,JS会创建新标记。google.maps.event.addListener(map,'click',function(event){addMarker(event.latLng)});functionaddMarker(latLng){varmarker=newMarkerWithLabel({position:latLng,map:

javascript - 语义会因缩小而改变的 JavaScript 代码的示例是什么?

我有报告-恐怕没有可用的来源-一个网络应用程序不能在使用某些移动数据网络的设备上运行,因为网络运营商正在运行一个压缩图像和缩小的非透明代理JavaScript和缩小实际上破坏了代码。我很好奇是否有人有一个示例(即代码片段和缩小技术),其中草率的JS代码与激进的缩小相结合实际上可以改变代码的含义?我怀疑这样的组合是可能的,但想不出-或找不到-任何例子。任何人都有一个很好的例子,或者相反的证据? 最佳答案 考虑以下代码:functionDoStuff(thingA,ThingB){varthingC=thingA+ThingB;retu

javascript - Google Chrome - 使用 iframe 时屏幕捕获失败,相同的脚本在没有 iframe 的情况下工作

当我使用以下脚本时,它适用于普通浏览器。但是当使用iframe时,它​​会向我显示此错误:有谁知道造成这种情况的原因并且可以解决吗?错误:channelmessageObject{type:"getScreenPending",id:24504,request:6}content.js:4channelmessageObject{type:"gotScreen",id:24504,request:6}content.js:4>>>ShareScreen:ifanyerrNavigatorUserMediaError{constraintName:"",message:"",name:"

javascript - 为什么 .then() 在没有 JavaScript promise 的情况下工作?

为什么调用第二个函数.then(notPromise)仍然将参数传递给第三个函数.then(promiseC)即使notPromise()只是一个常规函数?我认为只有promises可以与.then()一起使用,但它仍然以某种方式正确执行(并传递参数)。promiseA().then(notPromise).then(promiseC);functionpromiseA(){returnnewPromise(function(resolve,reject){conststring="a";resolve(string);});}functionnotPromise(string){co

javascript - JavaScript 中的数组是如何工作的? (即没有起始维度大小)

我正在阅读thispost前几天晚上关于阵列的内部工作原理,并从发布的答案中学到了很多东西,尤其是来自JonathanHolland的答案。的一个。所以你预先给数组一个大小的原因是需要预先保留空间,这样数组中的元素将在内存中彼此相邻放置,从而提供O(1)的访问时间,因为pointer+offset遍历。但是在JavaScript中,你可以像这样初始化一个数组:varanArray=[];//Initializeanemptyarray,withoutadimension所以我的问题是,因为在JavaScript中你可以初始化数组而无需事先指定维度,如何为数组分配内存以仍然提供O(1)的

javascript - jQuery 错误? .appendTo() 在 IE7 中不工作

我正在尝试为jQuery创建一个选项传输插件。我有在Opera、Firefox、Chrome和Safari中运行的基本功能,但IE7无法配合。IE7中的传递函数似乎非常零散且难以理解。我创建了anexamplepagetoillustratemyproblem.谁能看出我哪里出错了?谢谢, 最佳答案 这看起来不像是.appendTo()-error-in-jQuery,而是IE7-has-superfunky-select-box-behavior问题。此解决方法似乎使其表现良好:.parent().click(function()

javascript - "JavaScript - the Good Parts"示例的解释(第 4.15 节)?

JS初学者:)需要来自Crockford'sbook的代码片段的解释,第4.15节:varmemoizer=function(memo,fundamental){varshell=function(n){varresult=memo[n];if(typeofresult!=='number'){result=fundamental(shell,n);memo[n]=result;}returnresult;};returnshell;};varfibonacci=memoizer([0,1],function(shell,n){returnshell(n-1)+shell(n-2);}